/**
 * @param {Object} param 对象包含title(标题)、desc(描述)、link(链接)、imgUrl(图标)
 */
import * as api from '@/api/api'
// import wx from 'weixin-js-sdk'

function commonShare (param) {
  if (param !== undefined) {
    api.postAPI('/route.lua', {
      data: JSON.stringify({
        functionname: 'wxshare',
        htmlpage: location.href.replace(location.href.split('?')[0], location.href.split('#')[0]) // location.pathname
      })
    })
      .then(res => {
        // console.log('share response ->', res.data)
        if (res.data.status === true) {
          // eslint-disable-next-line no-undef
          wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: res.data.appid, // 必填，公众号的唯一标识
            timestamp: res.data.timestamp, // 必填，生成签名的时间戳
            nonceStr: res.data.noncestr, // 必填，生成签名的随机串
            signature: res.data.signature, // 必填，签名
            jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData']
          })
          wx.error(res=>{
            console.log('wx share error', res)
          })
          // eslint-disable-next-line no-undef
          wx.ready(function () {
            // console.log('wx share ready', param)
            if (param.title && param.link && param.imgUrl) {
              if (!param.desc) {
                param.link = param.title
              }
              // eslint-disable-next-line no-undef
              wx.updateAppMessageShareData({
                title: param.title, // 分享标题
                desc: param.desc, // 分享描述
                link: param.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: param.imgUrl, // 分享图标
                success: function () {
                  // 用户点击了分享后执行的回调函数
                  console.log('shared from wechat - by updateAppMessageShareData')
                },
                fail: function(error) {
                  console.log('updateAppMessageShareData error:', error);
                }
              })
              // eslint-disable-next-line no-undef
              wx.updateTimelineShareData({
                title: param.title, // 分享标题
                desc: param.desc, // 分享描述
                link: param.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: param.imgUrl, // 分享图标
                success: function () {
                  // 用户点击了分享后执行的回调函数
                  console.log('shared from wechat - by updateTimelineShareData') 
                },
                fail: function(error) {
                  console.log('updateTimelineShareData error:', error);
                }
              })
            } else {
              console.error('Parameters are incomplete')
            }
          })
        }
      })
      .catch(err => {
        console.log(err)
      })
  } else {
    console.error('Missing parameter configuration')
  }
}

export default {
  commonShare
}
